package com.sh.data.engine.application.model.dto.integration;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author: mengzheng.mhc
 * @date: 2024/6/27 16:58
 */
@Data
@Schema(title = "接口采集第三步获取字段列表")
@NoArgsConstructor
@AllArgsConstructor
public class GetFieldsDTO {

    @Schema(description = "字段列表")
    private List<Field> fields;

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class Field {

        /**
         * 字段名
         */
        private String fieldName;

        /**
         * 字段类型（从db中读取到的）
         */
        private String fieldType;

        /**
         * 字段类型（对应的java.sql.Types的SQL类型）
         */
        private int dataType;

        /**
         * 字段长度
         */
        private Integer columnSize;

        /**
         * 字段小数位长度
         */
        private Integer decimalDigits;

        /**
         * 是否是分区字段
         */
        private boolean isPartition;

        /**
         * 字段是否是主键
         */
        private boolean isPk;

        /**
         * 字段可否为空
         */
        private boolean isNullable;

        /**
         * 字段备注
         */
        private String comment;
    }
}
